package util

import (
	"sync"
)

type WaitGroupWrapper struct {
	sync.WaitGroup
}

// 一个精妙的设计，使用sync.WaitGroup 每个方法都经过这封装 在exit()当中进行 n.wait()  等待所有资源都退出
func (w *WaitGroupWrapper) Wrap(cb func()) {
	w.Add(1)
	go func() {
		cb()
		w.Done()
	}()
}
